//
// Created by harrybao on 2019/4/4.
//

#ifndef CMAKE_GAME_H
#define CMAKE_GAME_H

#include <cstdint>
#include "../common/define/singleton.h"
#include "../common/math/util_math.h"
#include "../common/time/util_time.h"
#include "manager/timer_manager.h"
#include "manager/object_pool_manager.h"

class Game : public singleton<Game>
{
public:
    Game() = default;
    ~Game() = default;
public:
    void Init();
    void UnInit();
    void Update(int32_t delta_time);
public:
    TimerManager* GetTimerManager();
    ObjectPoolManager* GetObjectPoolManager();
private:
    TimerManager* timer_manager_{ nullptr };
    ObjectPoolManager* object_pool_manager_{ nullptr };

};

#endif //CMAKE_GAME_H
